Ever prevalent in the lives of people in most industrialized countries is the use of bar codes to identify products and memorialize other information. There are typically two types of bar codes in commercial use, a linear (1D) bar code and a two dimensional (2D) bar code. A conventional 1D bar code (one dimensional UPC bar code) is just a different way of encoding numbers and letters by using a combination of bars and spaces of varying widths which in essence is just another manner of entering data into a computer. A bar code generally does not contain descriptive data. It is a reference number that a computer uses to look up an associated record that contains descriptive data and other important information. For example, a bar code found on a soda can does not contain the product name, type of soda, or price, instead, it contains a 12-digit product number. When this number is scanned by the cashier at the check-out, it is transmitted to the computer which finds the record associated with that item number in the data base. The matching item record contains a description of the product, vendor name, price, quantity-on-hand, etc. The computer instantly does a “price lookup” and displays the price on the cash register. It also subtracts the quantity purchased from the quantity-on-hand. This entire transaction is done instantly. In a nutshell, a bar code typically has ID data encoded in it and that data is used by computer to look up all specific information associated with the data.
Since computers cannot “read” bar codes, for a computer to make use of the information contained in the bar code, the bar code data must be captured and decoded into a data format that the computer can process. The device which reads or captures the bar code information and sends it to the decoder is known as the bar code reader, generally called bar code scanner. A typical bar code reader kit consists of a scanner, decoder, and cable which interfaces the decoder to the computer. The Scanner scans the Bar Code symbol and captures the bars and spaces of the bar code and sends it to the decoder. The decoder translates the bars and spaces into corresponding electrical output and transmits that data to the computer in a traditional data format. A bar code scanner can either have the Decoder built into it, or have an interface between it and the computer.
The 2D bar code unlike linear codes can store the data within the code, therefore eliminating the needs for access to a database for getting the information. Large amounts of text and data can be stored securely and inexpensively. Some 2D bar codes are like a set of linear bar codes literally stacked on top of each other. Conventionally, the PDF417 is the best example of a stacked-bar symbol and is the most common of all 2D bar codes currently in use today. 2D bar codes also uses an advanced error correction instead of a check digits system. This error correction allows the symbol to withstand some physical damage without causing loss of data. This high level of error correction is far more advanced than conventional 1D linear bar codes with check digits.
Currently, four of the different types of bar code readers available include the pen type readers (bar code wands), laser bar code scanners, CCD (Charge Couple Devices) bar code readers and camera-based bar code readers used for most two dimensional (2D) bar codes which contain much more information than standard vertical line bar codes. Each of these types uses a slightly different technology for reading and decoding a bar code.
Pen type bar code readers have a light source and a photo diode placed next to each other in the tip of a pen or wand. To read a bar code, a user drags the tip of the pen across all the bars in a steady even motion. The photo diode measures the intensity of the light reflected back from the light source and generates a waveform corresponding to the widths of the bars and spaces in the bar code. The bar code reader sends the waveform to the decoder, which decodes the waveform and sends it to the computer in a traditional data format.
Laser bar code scanners work the same way as pen type bar code readers. The only main difference is that Laser bar code scanners use a laser beam as their light source, and typically employ either a reciprocating mirror or a rotating prism to scan the laser beam back and forth across the bar code. As with the pen type bar code reader, a photo diode is used to measure the intensity of the light reflected back from the bar code.
CCD bar code scanners use an array of tiny light sensors lined up in a row in the head of the bar code reader. Voltage waveform corresponding to the bars and spaces of the bar code is generated and sent to the decoder, which decodes the data and sends it to the computer. The main difference between a CCD bar code scanner, a pen type bar code scanner, and laser bar code scanner is that the CCD bar code scanner measures emitted ambient light from the bar code whereas pen or laser bar code scanners measure reflected light of a specific frequency originating from the scanner itself.
The camera-based bar code readers used for the majority of 2D bar codes which are becoming more popular due to increased data carrying ability, use a small video camera to capture an image of a bar code. The bar code reader then transmits that information to a computer and uses sophisticated digital image processing techniques to decode the bar code. Unfortunately this type of image processing of the entire 2D bar code is time consuming, requires the aiming of a camera to properly capture the image, consumes large amounts of computer processing and memory as well as requiring substantial electrical power to run the camera.
Linear bar codes are decoded along one axis or direction and generally encode data characters as parallel arrangements of alternating, multiple-width strips of lower reflectivity or “bars” separated by absences of such strips having higher reflectivity or “spaces.” Each unique pattern of bars and spaces within a predetermined width defines a particular data character. A given linear symbol encodes several data characters along its length as several groups of unique bar and space patterns.
Newer data collection symbologies have departed from the typical linear symbologies to create 2D stacked or area symbologies in order to increase the amount of information encoded within a given area. Stacked symbologies or “multi-row symbologies” employ several adjacent rows of multiple-width bars and spaces. “Area symbologies” or 2D matrix symbologies employ arrangements of regular polygonal data cells where the center-to-center distance of adjacent cells is uniform.
Reading stacked symbologies and 2D area technologies with scanning beam-type detectors typically involves a scanning approach where the beam is scanned by hand by a user with the scanner, horizontally across the large object a number of times to capture the image line by line. The user must be very careful as to the distance the card is held from the scanner or it won't work correctly. Also, ambient light and reflections from the card surface itself can interfere with the imaging. For each sweep, the sensor output is converted to a digital signal. The digital signal is then mapped into a two-dimensional character array and processed by the computer as a whole to decode the symbol or symbols. Such line by line scanning is very time consuming, and frequently hard to accomplish as the user may shift the reader. Thus the reader will then have an incorrect indication of the relative locations of light and dark regions, thereby impairing decoding. If the card on which the bar code is resident is bent, the problems of the resulting image are increased.
To overcome such problems, two-dimensional readers have been employed that use cameras, or semiconductor or other suitable light receiving elements that image the entire two-dimensional area substantially simultaneously. This is a memory intensive operation for the processor and due to optical limitations inherent in such imaging devices. Further, these readers have a relatively small depth of field within which symbols can be read. To increase the reader's depth of field, some two-dimensional readers employ auto focus systems which are costly and relatively slow. Moreover, even readers with auto focus systems are limited by the depth-of-field of the auto focus system. Also, bent cards with resulting bent code strips can exacerbate the reading problems. Still further, even when reading linear or stacked symbologies, such systems employ relatively complex area-type processing for finding, identifying and decoding. The complexity of such processing makes these readers undesirably slow, and large as a system, for many linear and stacked technology applications.
U.S. Pat. No. 6,193,156 (Han) is a unique card developed for reading with a presented illumination system. Here again this patent does not deal with the mechanics and operation involved with the insertion of a card into a card reader.
U.S. Pat. No. 5,569,902 (Wood) is hand-held device to read 2D code using a transparent guide for aiming employing an area sensor and unique illumination system. However, Wood requires the user to aim the device to work.
U.S. Pat. No. 4,903,815 (Hirschfeld) teaches an automatic vending machine using a bar code scanner. While it mentions a switch to activate the scanner, this is a generic switching method used in any vending machine and is not designed to trigger at the cards leading edge or to help straighten the bent cards.
Finally, U.S. Pat. No. 5,886,334 (D'Entremont) instructs upon a camera-based system to capture a document for read and inspection. Here again this patent does not provide any improvement with the mechanics and operation involved with the insertion of a card into a card reader and it requires a plurality of cameras to function.
As such, there exists a continuing need of improvements and simplification in the art of reading and handling coded cards while greatly increasing the capabilities in this relatively new field. Such a device should allow for the easy and fast reading of data on a 2D bar code. Such a device should require no aiming by the user to extract information from the code. Still further, such a device should aid in straightening out cards which have achieved a curved or bent surface due to long storage in a wallet or pocket. Finally, such a device should be small to allow it to be used at the point of purchase or inspection easily and should consume minimum power.